#ifndef DOCK_VIEW_H
#define DOCK_VIEW_H

#include <map>
#include <view.h>
#include <dockIcon.h>
#include <systemSettingMessage.h>
#include <allFactory.h>

namespace View {

  class DockView : public view
  {
  private:
    GooCanvasItem *root;
    gdouble coordinatesX;
    gdouble coordinatesY;

    gdouble dockIconWidth;
    
    std::map<Model::AttackType,DockIcon *> dockIcons;

    bool RePositioning();

  public:
    DockView(GooCanvasItem *newRoot);
    ~DockView();

    bool AddDockIcon(Model::AttackType attackType);
    bool DelDockIcon(Model::AttackType attackType);
    virtual bool ReceiveBroadcast(Controller::Broadcast *broadcast) ;
  };

}

#endif
